<!DOCTYPE html>
<html lang="en-US" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>VitePress | VitePress</title>
    <meta name="description" content="A VitePress site">
    <link rel="preload stylesheet" href="/assets/style.1fe3aef4.css" as="style">
    
    <script type="module" src="/assets/app.050c7e60.js"></script>
    <link rel="preload" href="/assets/inter-roman-latin.2ed14f66.woff2" as="font" type="font/woff2" crossorigin="">
    <link rel="modulepreload" href="/assets/chunks/framework.52b122f8.js">
    <link rel="modulepreload" href="/assets/chunks/theme.f97d03d7.js">
    <link rel="modulepreload" href="/assets/chunks/index.29ce75ac.js">
    <link rel="modulepreload" href="/assets/chunks/index.6bc94b44.js">
    <link rel="modulepreload" href="/assets/chunks/commonjsHelpers.725317a4.js">
    <link rel="modulepreload" href="/assets/assembly_advanced_customForm.md.79eb31c6.lean.js">
    <script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
    <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
  </head>
  <body>
    <div id="app"><div class="Layout" data-v-80f406db><!--[--><!--]--><!--[--><span tabindex="-1" data-v-7385a610></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-7385a610> Skip to content </a><!--]--><!----><header class="VPNav" data-v-80f406db data-v-5953b7f9><div class="VPNavBar has-sidebar" data-v-5953b7f9 data-v-26086e15><div class="container" data-v-26086e15><div class="title" data-v-26086e15><div class="VPNavBarTitle has-sidebar" data-v-26086e15 data-v-561c825c><a class="title" href="/" data-v-561c825c><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.png" alt data-v-a853fe5c><!--]--><!----><!--[--><!--]--></a></div></div><div class="content" data-v-26086e15><div class="curtain" data-v-26086e15></div><div class="content-body" data-v-26086e15><!--[--><!--]--><div class="VPNavBarSearch search" data-v-26086e15><!----></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-26086e15 data-v-81c94828><span id="main-nav-aria-label" class="visually-hidden" data-v-81c94828>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/guide/form.html" tabindex="0" data-v-81c94828 data-v-391de4ef><!--[--><span data-v-391de4ef>指南</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/assembly/form/basic.html" tabindex="0" data-v-81c94828 data-v-391de4ef><!--[--><span data-v-391de4ef>组件</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-26086e15 data-v-30046737><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="toggle dark mode" aria-checked="false" data-v-30046737 data-v-39d37fec data-v-94d9d5ee><span class="check" data-v-94d9d5ee><span class="icon" data-v-94d9d5ee><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-39d37fec><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-39d37fec><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-26086e15 data-v-6dcf6834 data-v-19d2c3a0><!--[--><a class="VPSocialLink no-icon" href="https://gitee.com/childe-jia" aria-label="github" target="_blank" rel="noopener" data-v-19d2c3a0 data-v-98b97b21><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-26086e15 data-v-12a305f3 data-v-c42375a2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-c42375a2><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="icon" data-v-c42375a2><circle cx="12" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="5" cy="12" r="2"></circle></svg></button><div class="menu" data-v-c42375a2><div class="VPMenu" data-v-c42375a2 data-v-b198516b><!----><!--[--><!--[--><!----><div class="group" data-v-12a305f3><div class="item appearance" data-v-12a305f3><p class="label" data-v-12a305f3>Appearance</p><div class="appearance-action" data-v-12a305f3><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="toggle dark mode" aria-checked="false" data-v-12a305f3 data-v-39d37fec data-v-94d9d5ee><span class="check" data-v-94d9d5ee><span class="icon" data-v-94d9d5ee><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-39d37fec><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-39d37fec><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div></div></div><div class="group" data-v-12a305f3><div class="item social-links" data-v-12a305f3><div class="VPSocialLinks social-links-list" data-v-12a305f3 data-v-19d2c3a0><!--[--><a class="VPSocialLink no-icon" href="https://gitee.com/childe-jia" aria-label="github" target="_blank" rel="noopener" data-v-19d2c3a0 data-v-98b97b21><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-26086e15 data-v-e6abcc4f><span class="container" data-v-e6abcc4f><span class="top" data-v-e6abcc4f></span><span class="middle" data-v-e6abcc4f></span><span class="bottom" data-v-e6abcc4f></span></span></button></div></div></div></div><!----></header><div class="VPLocalNav reached-top" data-v-80f406db data-v-e0dceac6><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-e0dceac6><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="menu-icon" data-v-e0dceac6><path d="M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"></path><path d="M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"></path><path d="M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"></path><path d="M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"></path></svg><span class="menu-text" data-v-e0dceac6>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-e0dceac6 data-v-44f34666><button data-v-44f34666>Return to top</button><!----></div></div><aside class="VPSidebar" data-v-80f406db data-v-896a7e03><div class="curtain" data-v-896a7e03></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-896a7e03><span class="visually-hidden" id="sidebar-aria-label" data-v-896a7e03> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="group" data-v-896a7e03><section class="VPSidebarItem level-0" data-v-896a7e03 data-v-6f847c00><div class="item" role="button" tabindex="0" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><h2 class="text" data-v-6f847c00>表单Form</h2><!----></div><div class="items" data-v-6f847c00><!--[--><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/basic.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>base</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/checkbox-group.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>checkbox-group</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/content.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>content</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/date-picker.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>date-picker</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/deprecated.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>deprecated</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/disabled.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>disabled</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/el.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>el</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/get-component-by-id.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>get-component-by-id</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/get-form-value.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>get-form-value</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/hidden.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>hidden</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/next-tick.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>next-tick</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/on.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>on</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/radio-group.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>radio-group</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/readonly.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>readonly</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/remote.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>remote</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/rules-plus.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>rules-plus</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/rules.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>rules</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/set-options.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>set-options</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/slot-label.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>slot-label</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/slot.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>slot</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/update-form.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>update-form</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/v-model.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>v-model</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/form/value-format.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>value-format</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-896a7e03><section class="VPSidebarItem level-0" data-v-896a7e03 data-v-6f847c00><div class="item" role="button" tabindex="0" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><h2 class="text" data-v-6f847c00>表格table</h2><!----></div><div class="items" data-v-6f847c00><!--[--><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/table/table.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>表格</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-896a7e03><section class="VPSidebarItem level-0 has-active" data-v-896a7e03 data-v-6f847c00><div class="item" role="button" tabindex="0" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><h2 class="text" data-v-6f847c00>进阶</h2><!----></div><div class="items" data-v-6f847c00><!--[--><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/advanced/customForm.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>form自定义组件</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/advanced/customFormRoules.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>form自定义组件设置自定义校验规则</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/advanced/upload.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>form自定义组件--图片上传</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-6f847c00 data-v-6f847c00><div class="item" data-v-6f847c00><div class="indicator" data-v-6f847c00></div><a class="VPLink link link" href="/assembly/advanced/uploadFile.html" data-v-6f847c00><!--[--><p class="text" data-v-6f847c00>form自定义组件--文件上传</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-80f406db data-v-0c7fe881><div class="VPDoc has-sidebar has-aside" data-v-0c7fe881 data-v-1a937d4e><!--[--><!--]--><div class="container" data-v-1a937d4e><div class="aside" data-v-1a937d4e><div class="aside-curtain" data-v-1a937d4e></div><div class="aside-container" data-v-1a937d4e><div class="aside-content" data-v-1a937d4e><div class="VPDocAside" data-v-1a937d4e data-v-cf7716b2><!--[--><!--]--><!--[--><!--]--><div class="VPDocAsideOutline" role="navigation" data-v-cf7716b2 data-v-88ca8947><div class="content" data-v-88ca8947><div class="outline-marker" data-v-88ca8947></div><div class="outline-title" role="heading" aria-level="2" data-v-88ca8947>On this page</div><nav aria-labelledby="doc-outline-aria-label" data-v-88ca8947><span class="visually-hidden" id="doc-outline-aria-label" data-v-88ca8947> Table of Contents for current page </span><ul class="root" data-v-88ca8947 data-v-59923752><!--[--><!--]--></ul></nav></div></div><!--[--><!--]--><div class="spacer" data-v-cf7716b2></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-1a937d4e><div class="content-container" data-v-1a937d4e><!--[--><!--]--><!----><main class="main" data-v-1a937d4e><div style="position:relative;" class="vp-doc _assembly_advanced_customForm" data-v-1a937d4e><div><h3 id="前言" tabindex="-1">前言 <a class="header-anchor" href="#前言" aria-label="Permalink to &quot;前言&quot;">​</a></h3><p>el-form-renderer 的 type 有限, 默认只能渲染普通的表单项, 假如现在要渲染一个上传组件, type 就不够用了, 那怎么办呢? 这时候 component 选项就派上用场了</p><p>本文将介绍如何开发符合 el-form-renderer 接入标准的自定义组件, 实现对自定义组件的渲染</p><h3 id="接入标准" tabindex="-1">接入标准 <a class="header-anchor" href="#接入标准" aria-label="Permalink to &quot;接入标准&quot;">​</a></h3><p>自定义组件接入的关键是在组件内部实现 v-model</p><p>建议在自定义组件上绑定 $attrs</p><p>el-form-renderer 对 v-model 的要求是:</p><ul><li>有一个 props 为 modelValue</li><li>对外触发 update:modelValue 事件</li></ul><p>下面是一个简单的例子</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#e1e4e8;">&lt;template&gt;</span></span>
<span class="line"><span style="color:#e1e4e8;">  &lt;el-input v-model=&quot;newValue&quot; v-bind=&quot;$attrs&quot;&gt;&lt;/el-input&gt;</span></span>
<span class="line"><span style="color:#e1e4e8;">&lt;/template&gt;</span></span>
<span class="line"><span style="color:#e1e4e8;"></span></span>
<span class="line"><span style="color:#e1e4e8;">&lt;script setup&gt;</span></span>
<span class="line"><span style="color:#e1e4e8;">let emit = defineEmits([&quot;customEvent&quot;, &quot;update:modelValue&quot;]);</span></span>
<span class="line"><span style="color:#e1e4e8;">import { watch, computed } from &quot;vue&quot;;</span></span>
<span class="line"><span style="color:#e1e4e8;">let props = defineProps({</span></span>
<span class="line"><span style="color:#e1e4e8;">  modelValue: String,</span></span>
<span class="line"><span style="color:#e1e4e8;">  title: String,</span></span>
<span class="line"><span style="color:#e1e4e8;">});</span></span>
<span class="line"><span style="color:#e1e4e8;"></span></span>
<span class="line"><span style="color:#e1e4e8;">watch(</span></span>
<span class="line"><span style="color:#e1e4e8;">  () =&gt; props.modelValue,</span></span>
<span class="line"><span style="color:#e1e4e8;">  () =&gt; {</span></span>
<span class="line"><span style="color:#e1e4e8;">    console.log(&quot;触发&quot;);</span></span>
<span class="line"><span style="color:#e1e4e8;">    emit(&quot;customEvent&quot;, newValue.value);</span></span>
<span class="line"><span style="color:#e1e4e8;">  }</span></span>
<span class="line"><span style="color:#e1e4e8;">);</span></span>
<span class="line"><span style="color:#e1e4e8;">// 计算属性求和</span></span>
<span class="line"><span style="color:#e1e4e8;">const newValue = computed({</span></span>
<span class="line"><span style="color:#e1e4e8;">  get: () =&gt; {</span></span>
<span class="line"><span style="color:#e1e4e8;">    console.log(&quot;get&quot;);</span></span>
<span class="line"><span style="color:#e1e4e8;">    return props.modelValue;</span></span>
<span class="line"><span style="color:#e1e4e8;">  },</span></span>
<span class="line"><span style="color:#e1e4e8;">  set: (value) =&gt; {</span></span>
<span class="line"><span style="color:#e1e4e8;">    console.log(&quot;set&quot;);</span></span>
<span class="line"><span style="color:#e1e4e8;">    return emit(&quot;update:modelValue&quot;, value);</span></span>
<span class="line"><span style="color:#e1e4e8;">  },</span></span>
<span class="line"><span style="color:#e1e4e8;">});</span></span>
<span class="line"><span style="color:#e1e4e8;">&lt;/script&gt;</span></span>
<span class="line"><span style="color:#e1e4e8;">&lt;script&gt;</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">&lt;template&gt;</span></span>
<span class="line"><span style="color:#24292e;">  &lt;el-input v-model=&quot;newValue&quot; v-bind=&quot;$attrs&quot;&gt;&lt;/el-input&gt;</span></span>
<span class="line"><span style="color:#24292e;">&lt;/template&gt;</span></span>
<span class="line"><span style="color:#24292e;"></span></span>
<span class="line"><span style="color:#24292e;">&lt;script setup&gt;</span></span>
<span class="line"><span style="color:#24292e;">let emit = defineEmits([&quot;customEvent&quot;, &quot;update:modelValue&quot;]);</span></span>
<span class="line"><span style="color:#24292e;">import { watch, computed } from &quot;vue&quot;;</span></span>
<span class="line"><span style="color:#24292e;">let props = defineProps({</span></span>
<span class="line"><span style="color:#24292e;">  modelValue: String,</span></span>
<span class="line"><span style="color:#24292e;">  title: String,</span></span>
<span class="line"><span style="color:#24292e;">});</span></span>
<span class="line"><span style="color:#24292e;"></span></span>
<span class="line"><span style="color:#24292e;">watch(</span></span>
<span class="line"><span style="color:#24292e;">  () =&gt; props.modelValue,</span></span>
<span class="line"><span style="color:#24292e;">  () =&gt; {</span></span>
<span class="line"><span style="color:#24292e;">    console.log(&quot;触发&quot;);</span></span>
<span class="line"><span style="color:#24292e;">    emit(&quot;customEvent&quot;, newValue.value);</span></span>
<span class="line"><span style="color:#24292e;">  }</span></span>
<span class="line"><span style="color:#24292e;">);</span></span>
<span class="line"><span style="color:#24292e;">// 计算属性求和</span></span>
<span class="line"><span style="color:#24292e;">const newValue = computed({</span></span>
<span class="line"><span style="color:#24292e;">  get: () =&gt; {</span></span>
<span class="line"><span style="color:#24292e;">    console.log(&quot;get&quot;);</span></span>
<span class="line"><span style="color:#24292e;">    return props.modelValue;</span></span>
<span class="line"><span style="color:#24292e;">  },</span></span>
<span class="line"><span style="color:#24292e;">  set: (value) =&gt; {</span></span>
<span class="line"><span style="color:#24292e;">    console.log(&quot;set&quot;);</span></span>
<span class="line"><span style="color:#24292e;">    return emit(&quot;update:modelValue&quot;, value);</span></span>
<span class="line"><span style="color:#24292e;">  },</span></span>
<span class="line"><span style="color:#24292e;">});</span></span>
<span class="line"><span style="color:#24292e;">&lt;/script&gt;</span></span>
<span class="line"><span style="color:#24292e;">&lt;script&gt;</span></span></code></pre></div><p>则可以用 component 属性让 el-form-renderer 渲染此自定义组件</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#e1e4e8;">&lt;template&gt;</span></span>
<span class="line"><span style="color:#e1e4e8;">  &lt;el-form-renderer :content=&quot;content&quot; /&gt;</span></span>
<span class="line"><span style="color:#e1e4e8;">&lt;/template&gt;</span></span>
<span class="line"><span style="color:#e1e4e8;">&lt;script setup&gt;</span></span>
<span class="line"><span style="color:#e1e4e8;">import { reactive, markRaw } from &quot;vue&quot;;</span></span>
<span class="line"><span style="color:#e1e4e8;">import elFormRenderer from &quot;../components/femessage/el-form-renderer.vue&quot;;</span></span>
<span class="line"><span style="color:#e1e4e8;"></span></span>
<span class="line"><span style="color:#e1e4e8;">import MyInput from &quot;../your-component.vue&quot;;</span></span>
<span class="line"><span style="color:#e1e4e8;">const content = reactive([</span></span>
<span class="line"><span style="color:#e1e4e8;">  {</span></span>
<span class="line"><span style="color:#e1e4e8;">    component: markRaw(MyInput),</span></span>
<span class="line"><span style="color:#e1e4e8;">    id: &quot;myInput&quot;,</span></span>
<span class="line"><span style="color:#e1e4e8;">    label: &quot;label&quot;,</span></span>
<span class="line"><span style="color:#e1e4e8;">    // 传入组件属性</span></span>
<span class="line"><span style="color:#e1e4e8;">    el: {</span></span>
<span class="line"><span style="color:#e1e4e8;">      placeholder: &quot;请输入一个 title&quot;,</span></span>
<span class="line"><span style="color:#e1e4e8;">      type: &quot;input&quot;, // submit button</span></span>
<span class="line"><span style="color:#e1e4e8;">      title: &quot;这是一个标题&quot;, // custom defined props</span></span>
<span class="line"><span style="color:#e1e4e8;">    },</span></span>
<span class="line"><span style="color:#e1e4e8;"></span></span>
<span class="line"><span style="color:#e1e4e8;">    // 传入组件事件</span></span>
<span class="line"><span style="color:#e1e4e8;">    on: {</span></span>
<span class="line"><span style="color:#e1e4e8;">      focus: ([event], updateForm) =&gt; {</span></span>
<span class="line"><span style="color:#e1e4e8;">        console.log(event.target.value); // output: input value</span></span>
<span class="line"><span style="color:#e1e4e8;">      },</span></span>
<span class="line"><span style="color:#e1e4e8;">      customEvent: ([value, msg], updateForm) =&gt; {</span></span>
<span class="line"><span style="color:#e1e4e8;">        console.log(value, msg); // output: &#39;message&#39;</span></span>
<span class="line"><span style="color:#e1e4e8;">      },</span></span>
<span class="line"><span style="color:#e1e4e8;">    },</span></span>
<span class="line"><span style="color:#e1e4e8;">  },</span></span>
<span class="line"><span style="color:#e1e4e8;">]);</span></span>
<span class="line"><span style="color:#e1e4e8;">&lt;/script&gt;</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">&lt;template&gt;</span></span>
<span class="line"><span style="color:#24292e;">  &lt;el-form-renderer :content=&quot;content&quot; /&gt;</span></span>
<span class="line"><span style="color:#24292e;">&lt;/template&gt;</span></span>
<span class="line"><span style="color:#24292e;">&lt;script setup&gt;</span></span>
<span class="line"><span style="color:#24292e;">import { reactive, markRaw } from &quot;vue&quot;;</span></span>
<span class="line"><span style="color:#24292e;">import elFormRenderer from &quot;../components/femessage/el-form-renderer.vue&quot;;</span></span>
<span class="line"><span style="color:#24292e;"></span></span>
<span class="line"><span style="color:#24292e;">import MyInput from &quot;../your-component.vue&quot;;</span></span>
<span class="line"><span style="color:#24292e;">const content = reactive([</span></span>
<span class="line"><span style="color:#24292e;">  {</span></span>
<span class="line"><span style="color:#24292e;">    component: markRaw(MyInput),</span></span>
<span class="line"><span style="color:#24292e;">    id: &quot;myInput&quot;,</span></span>
<span class="line"><span style="color:#24292e;">    label: &quot;label&quot;,</span></span>
<span class="line"><span style="color:#24292e;">    // 传入组件属性</span></span>
<span class="line"><span style="color:#24292e;">    el: {</span></span>
<span class="line"><span style="color:#24292e;">      placeholder: &quot;请输入一个 title&quot;,</span></span>
<span class="line"><span style="color:#24292e;">      type: &quot;input&quot;, // submit button</span></span>
<span class="line"><span style="color:#24292e;">      title: &quot;这是一个标题&quot;, // custom defined props</span></span>
<span class="line"><span style="color:#24292e;">    },</span></span>
<span class="line"><span style="color:#24292e;"></span></span>
<span class="line"><span style="color:#24292e;">    // 传入组件事件</span></span>
<span class="line"><span style="color:#24292e;">    on: {</span></span>
<span class="line"><span style="color:#24292e;">      focus: ([event], updateForm) =&gt; {</span></span>
<span class="line"><span style="color:#24292e;">        console.log(event.target.value); // output: input value</span></span>
<span class="line"><span style="color:#24292e;">      },</span></span>
<span class="line"><span style="color:#24292e;">      customEvent: ([value, msg], updateForm) =&gt; {</span></span>
<span class="line"><span style="color:#24292e;">        console.log(value, msg); // output: &#39;message&#39;</span></span>
<span class="line"><span style="color:#24292e;">      },</span></span>
<span class="line"><span style="color:#24292e;">    },</span></span>
<span class="line"><span style="color:#24292e;">  },</span></span>
<span class="line"><span style="color:#24292e;">]);</span></span>
<span class="line"><span style="color:#24292e;">&lt;/script&gt;</span></span></code></pre></div><ul><li>需要注意，on 中的 function 定义，组件 emit 事件的 payload 将以「数组」的方式，回调到第一个参数</li><li>第二个参数为 updateForm 方法</li></ul></div></div></main><footer class="VPDocFooter" data-v-1a937d4e data-v-560b6242><!--[--><!--]--><!----><nav class="prev-next" data-v-560b6242><div class="pager" data-v-560b6242><a class="pager-link prev" href="/assembly/table/table.html" data-v-560b6242><span class="desc" data-v-560b6242>Previous page</span><span class="title" data-v-560b6242>表格</span></a></div><div class="pager" data-v-560b6242><a class="pager-link next" href="/assembly/advanced/customFormRoules.html" data-v-560b6242><span class="desc" data-v-560b6242>Next page</span><span class="title" data-v-560b6242>form自定义组件设置自定义校验规则</span></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
    <script>window.__VP_HASH_MAP__=JSON.parse("{\"assembly_form_date-picker.md\":\"5c6114ad\",\"assembly_form_on.md\":\"2cf14d5a\",\"assembly_advanced_customform.md\":\"79eb31c6\",\"assembly_form_slot.md\":\"2081c847\",\"assembly_form_rules-plus.md\":\"9d3d6311\",\"assembly_form_deprecated.md\":\"66b6dbb8\",\"assembly_form_get-component-by-id.md\":\"8171a973\",\"assembly_form_radio-group.md\":\"52598721\",\"assembly_form_checkbox-group.md\":\"7b880d40\",\"assembly_form_set-options.md\":\"6b9cb6b1\",\"assembly_advanced_customformroules.md\":\"137f423d\",\"index.md\":\"f5c0a7b4\",\"assembly_form_disabled.md\":\"c70d39d1\",\"assembly_form_remote.md\":\"3173ea21\",\"assembly_form_content.md\":\"7e49928d\",\"assembly_form_rules.md\":\"2773a393\",\"assembly_form_el.md\":\"e7c42ee4\",\"assembly_form_slot-label.md\":\"5187c376\",\"guide_table.md\":\"4a405abc\",\"assembly_form_hidden.md\":\"00926d42\",\"assembly_form_get-form-value.md\":\"20d141c0\",\"assembly_form_update-form.md\":\"7ab65351\",\"assembly_form_v-model.md\":\"f8b8f80f\",\"assembly_form_basic.md\":\"04efb572\",\"assembly_form_readonly.md\":\"e6d69789\",\"assembly_form_next-tick.md\":\"4643f5b6\",\"assembly_form_value-format.md\":\"6904d86f\",\"assembly_advanced_upload.md\":\"26cfdf6f\",\"assembly_table_table.md\":\"88379d01\",\"guide_form.md\":\"c20cffa1\",\"assembly_advanced_uploadfile.md\":\"03238925\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"VitePress\",\"description\":\"A VitePress site\",\"base\":\"/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"base\":\"/jiayc4215/\",\"siteTitle\":false,\"logo\":\"/logo.png\",\"nav\":[{\"text\":\"指南\",\"link\":\"/guide/form\"},{\"text\":\"组件\",\"link\":\"/assembly/form/basic\"}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://gitee.com/childe-jia\"}],\"sidebar\":{\"/guide/\":[{\"text\":\"快速开始\",\"items\":[{\"text\":\"表单Form\",\"link\":\"/guide/form\"},{\"text\":\"表格table\",\"link\":\"/guide/table\"}]}],\"/assembly/\":[{\"text\":\"表单Form\",\"items\":[{\"text\":\"base\",\"link\":\"/assembly/form/basic\"},{\"text\":\"checkbox-group\",\"link\":\"/assembly/form/checkbox-group\"},{\"text\":\"content\",\"link\":\"/assembly/form/content\"},{\"text\":\"date-picker\",\"link\":\"/assembly/form/date-picker\"},{\"text\":\"deprecated\",\"link\":\"/assembly/form/deprecated\"},{\"text\":\"disabled\",\"link\":\"/assembly/form/disabled\"},{\"text\":\"el\",\"link\":\"/assembly/form/el\"},{\"text\":\"get-component-by-id\",\"link\":\"/assembly/form/get-component-by-id\"},{\"text\":\"get-form-value\",\"link\":\"/assembly/form/get-form-value\"},{\"text\":\"hidden\",\"link\":\"/assembly/form/hidden\"},{\"text\":\"next-tick\",\"link\":\"/assembly/form/next-tick\"},{\"text\":\"on\",\"link\":\"/assembly/form/on\"},{\"text\":\"radio-group\",\"link\":\"/assembly/form/radio-group\"},{\"text\":\"readonly\",\"link\":\"/assembly/form/readonly\"},{\"text\":\"remote\",\"link\":\"/assembly/form/remote\"},{\"text\":\"rules-plus\",\"link\":\"/assembly/form/rules-plus\"},{\"text\":\"rules\",\"link\":\"/assembly/form/rules\"},{\"text\":\"set-options\",\"link\":\"/assembly/form/set-options\"},{\"text\":\"slot-label\",\"link\":\"/assembly/form/slot-label\"},{\"text\":\"slot\",\"link\":\"/assembly/form/slot\"},{\"text\":\"update-form\",\"link\":\"/assembly/form/update-form\"},{\"text\":\"v-model\",\"link\":\"/assembly/form/v-model\"},{\"text\":\"value-format\",\"link\":\"/assembly/form/value-format\"}]},{\"text\":\"表格table\",\"items\":[{\"text\":\"表格\",\"link\":\"/assembly/table/table\"}]},{\"text\":\"进阶\",\"items\":[{\"text\":\"form自定义组件\",\"link\":\"/assembly/advanced/customForm\"},{\"text\":\"form自定义组件设置自定义校验规则\",\"link\":\"/assembly/advanced/customFormRoules\"},{\"text\":\"form自定义组件--图片上传\",\"link\":\"/assembly/advanced/upload\"},{\"text\":\"form自定义组件--文件上传\",\"link\":\"/assembly/advanced/uploadFile\"}]}]}},\"locales\":{},\"scrollOffset\":90,\"cleanUrls\":false}");</script>
    
  </body>
</html>